/**
 *
 * @author 杜大磊
 * @date 2024/10/10 18:02
 * @description LeaferInjectKeys
 */
import type { InjectionKey, ShallowRef } from 'vue'
import { type App, UI } from 'leafer-ui'

/**
 * 主应用注入key
 */
export const LeaferInjectKey = Symbol('LeaferinjectKey') as InjectionKey<
  ShallowRef<App | undefined>
>

/**
 * 获取最大最小zIndex
 */
export const getMaxMinZIndextKey = Symbol('getMaxMinZIndextKey') as InjectionKey<
  () => { min: number; max: number }
>

/**
 * 获取最大最小zIndex
 */
export const setMaxMinZIndextKey = Symbol('setMaxMinZIndextKey') as InjectionKey<
  (min: number, max: number) => void
>

/**
 * 表单选择的元素
 */
export const formSelectInjectKey = Symbol('setMaxMinZIndextKey') as InjectionKey<
  () => UI | undefined
>
